#
# Copyright Altera 2013
# All Rights Reserved.
#

C_SRC := helio_main.c
ASM_SRC := startup.s			## added

CFLAGS := -g -O0 -mfloat-abi=soft -march=armv7-a -mtune=cortex-a9 -mcpu=cortex-a9 -Werror -Wall -Wstrict-prototypes
ASFLAGS :=  -march=armv7-a -mcpu=cortex-a9		## added

##LINKER_SCRIPT := altera-socfpga-hosted.ld		## comment out
LINKER_SCRIPT := altera-socfpga-unhosted.ld		## added

#CROSS_COMPILE := arm-none-eabi-
CROSS_COMPILE := arm-altera-eabi-
CC := $(CROSS_COMPILE)gcc
AS := $(CROSS_COMPILE)as		## added
LD := $(CROSS_COMPILE)g++
NM := $(CROSS_COMPILE)nm
OD := $(CROSS_COMPILE)objdump

ifeq ($(or $(COMSPEC),$(ComSpec)),)
RM := rm -rf
else
RM := cs-rm -rf
endif

ELF ?= $(basename $(firstword $(C_SRC))).axf
##OBJ := $(patsubst %.c,%.o,$(C_SRC))			## comment out
C_OBJ := $(patsubst %.c,%.o,$(C_SRC))			## added
ASM_OBJ := $(patsubst %.s,%.o,$(ASM_SRC))		## added
OBJ := $(C_OBJ) $(ASM_OBJ)						## modified

.PHONY: all
all: $(ELF)
	
.PHONY:
clean:
	$(RM) $(ELF) $(OBJ) *.objdump *.map

##$(OBJ): %.o: %.c Makefile						## comment out
$(C_OBJ): %.o: %.c Makefile						## added
	$(CC) $(CFLAGS) -c $< -o $@

$(ASM_OBJ): %.o: %.s Makefile					## added
	$(AS) $(ASFLAGS) -c $< -o $@				## added

$(ELF): $(OBJ) $(LINKER_SCRIPT)
	$(LD) -T$(LINKER_SCRIPT) $(OBJ) -o $@
	$(OD) -d $@ > $@.objdump
	$(NM) $@ > $@.map


